package com.itany.corejava.code12_集合.list;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

/**
 * @author 石小俊
 * @version 1.0
 * @date 2023年03月21日 15:04
 * 提示用户输入一个整数,存放到ArrayList中,如果用户输入0表示结束
 * 删除所有3的倍数的元素
 */
public class Test03_练习 {

    public static void main(String[] args) {
        test02();
    }

    public static void test01() {
        List<Integer> list = new ArrayList<>();
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.print("请输入一个整数:");
            int num = sc.nextInt();
            if (num == 0) {
                break;
            }
            list.add(num);
        }
        System.out.println("原始集合数据:" + list);
        for (int i = list.size() - 1; i >= 0; i--) {
            int num = list.get(i);
            if (num % 3 == 0) {
                // 当删除的元素是一个数字时,默认索引号
                // list.remove(num);
                // 删除指定的元素
                // 即:当直接写一个数字时,默认是int
                // int对于集合而言,认为是索引号
                list.remove(new Integer(num));
            }
        }
        System.out.println(list);
    }

    public static void test02() {
        List<Integer> list = new ArrayList<>();
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.print("请输入一个整数:");
            int num = sc.nextInt();
            if (num == 0) {
                break;
            }
            list.add(num);
        }
        System.out.println("原始集合数据:" + list);
        Iterator<Integer> it = list.iterator();
        while (it.hasNext()) {
            Integer num = it.next();
            if (num % 3 == 0) {
                it.remove();
            }
        }
        System.out.println(list);
    }

}
